/***********************************************************************************
 * 文件名： btn_ctrl_config.h
 * 版本： 4
 * 说明：
 * 		独立按钮控制器。扫描按钮，报告各种按钮事件。静态定义意味着只支持1个按钮，多个按钮请
 *  使用 btn_ctrl 组件。
 *      在合适的地方调用 Btn_Loop 确保其间隔10ms左右会被执行一次。当有按钮事件发生时，本组件
 *  会通过调用 Btn_Event 来进行通知，所以请在需要的地方实现 void Btn_Event(btn_ev_t e) 函
 *  数来接收按钮事件。
 *      在文件 btn_ctrl_config.h 中进行合适的配置。
 * 修改记录：
 * 	2021/04/21: 初版。 刘言。
 *  2021/05/12: 增加 Btn_IsDown()。刘言。
 *  2021/08/19: 支持完整版 POLSYS 。新增 Btn_Init 函数和 _Btn_HwInit 配置。
 *  2021/08/20: 新增消抖配置项。
***********************************************************************************/
#ifndef _BTN_CTRL_CONFIG_H_
#define _BTN_CTRL_CONFIG_H_

// 仅包含需要的文件
#include "board.h"

// 启用单击事件，不用时注释掉可以节省代码量
//#define BTN_USE_CLICK     

// 启用长按事件，不用时注释掉可以节省代码量
// #define BTN_USE_LONG_PRESS
//     // 长按触发时间(ms)
//     #define _BTN_LONG_PRESS_TIME        280

// 启用判断是否按下的功能(Btn_IsDown)，不用时注释掉可以节省代码量
// 可以用于判断当 Btn_IsDown() != _Btn_HwIsDown() 说明按钮状态需要刷新，不能休眠。
#define _BTN_USE_IS_DOWN_FUNC


// 按下消抖延时，单位10ms，可设置成0（不消抖）
#define _BTN_DOWN_DELAY     1

// 松手消抖延时，单位10ms，可设置成0（不消抖）
#define _BTN_UP_DELAY       2





// 设置一些需要引用的外部函数

// 按钮硬件初始化，调用 Btn_Init 时会被调用。
#define _Btn_HwInit()           

// 按钮硬件是按下的返回真
#define _Btn_HwIsDown()         Board_BtnIsDown()





#endif
